package cn.javass.dp.abstractfactory.demo1;
/*
苹果  香蕉 通过 生产者 生产出来
现在我要一个果盘
如果 我想吃橘子 创建一个制造橘子的工厂  在不改变原有工厂的情况下 扩展新的工厂

*/

interface Food{}

class A implements  Food { }
class B implements  Food { }

interface Produce {
    Food get();
}


class FactoryForA implements Produce {

    @Override
    public Food get() {
        return new A();
    }
}
class FactoryForB implements Produce {

    @Override
    public Food get() {
        return new B();
    }
}

public class AbstractFactory {
    public void ClientCode (String name) {
        Food x = new FactoryForA().get();
        x = new FactoryForB().get();
    }
}
